﻿using System;
using System.Collections.Generic;
using System.Linq;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Audio;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.GamerServices;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
using Microsoft.Xna.Framework.Media;
using Microsoft.Xna.Framework.Net;
using Microsoft.Xna.Framework.Storage;

namespace library
{
    public class vehicle
    {
        public string model;
        public string collisionmodel;
        public string wheelfront;
        public string wheelrear;
        public double wheelradiusfront;
        public double wheelradiusrear;
        public double offsetlength;
        public double offsetheight;
        public double mass;
        public double frontwheeldrive;
        public double wheelbasewidth;
        public double wheelbaselength;
        public double massheight;  //centre of mass
        public double masswidth;     //uniform mass body
        public double masslength;
        public double frontweight;
        public double springstiffnessf;
        public double springstiffnessb;
        public double springdampingf;
        public double springdampingb;
        public int gears;
        public double[] ratiovector;
        public double finaldriveratio;
        public double shiftingtime;
        public double idlerpm;
        public double maxrpm;
        public double launchrpm;
        public Vector4 Tyretype;      //normal = 5 sport = 5++ drag radials = 6?   slicks = 6.5?
        public double tyrewidthf;  // (mm)
        public double tyrewidthr;  // (mm)
        public double Cv;
        public double frontalarea;
        public double displacement; // cc
        public double turbosize; // mm          TD04HL-15T = 42mm     
        public double turbomax;
        public double camangle;
        public double camlift;
        public double friction;
        public string engine;
        public double compression;   //compressionratio of piston
        public string info;
        public string enginetype;    // V,flat,straight,wankel etc
        public double airfuelratio;
        public Vector3 enginerestriction;  // 1)airflow(liter/sek)  2)boost(bar)  3)torque(nm)
        public Vector3 camerapos;
        public double cargospace;
        public double passengers;
        public double turningradius;
        public double exhaustdiameter; // set to 0 to auto generate
        public bool turbo;      // if twinturbo, turbo should also be true. If supercharger, turbo and twinturbo should be false
        public bool twinturbo;
        public bool supercharger;
        public int cylinders;   // number of cylinders
        public int stroketype;  // 1 = two-stroke   2 = four-stroke
        public double stroke;    //length of cylinder stroke  (mm)
        public bool exhaust;
        public bool sportexhaust;
        public bool racingexhaust;
        public bool cai;
        public bool racingmanifold;
    }
}
